package com.javasm.domin.entity.orderEntity;

/**
 * @Author：liyangsong
 * @Version：1.0
 * @Date：2021/11/29-15:11
 * @Since:jdk1.8
 * @Description:
 */

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import com.javasm.common.excel.LocalDateStringConverter;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.VerticalAlignment;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 订单信息的导出
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("b2c_order")
@ContentRowHeight(35)
@HeadRowHeight(40)
@ColumnWidth(25)
// 头背景设置成红色 IndexedColors.RED.getIndex()
@HeadStyle(horizontalAlignment = HorizontalAlignment.CENTER, verticalAlignment = VerticalAlignment.CENTER, fillForegroundColor = 6)
// 头字体设置成20
@HeadFontStyle(fontHeightInPoints = 20, color = 1)
// 内容的背景设置成绿色 IndexedColors.GREEN.getIndex()
@ContentStyle(verticalAlignment = VerticalAlignment.CENTER, horizontalAlignment = HorizontalAlignment.CENTER)
// 内容字体设置成20
@ContentFontStyle(fontHeightInPoints = 18)
public class B2cOrderExcel {
    /** 代码示范
     * @ExcelProperty("字符串标题")
     *
     *     private String string;
     *
     *     @ExcelProperty("日期标题")
     *
     *     private Date date;
     *
     *     @ExcelProperty("数字标题")
     *
     *     private Double doubleData;
     */


    /**
     * 订单id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ExcelProperty(value = "订单id",index = 0)
    private Long id;

    /**
     * 订单类型（1 电话订单， 2 网络订单，3 其他）
     */
    @ExcelProperty("订单类型")
    private String orderType;

    /**
     * 订单动作（1 订购 ，2 换购 ， 3 支付）
     */
    @ExcelProperty("订单动作")
    private String orderAction;

    /**
     * 业务类型(1 普通业务，2 号卡套装)
     */
    @ExcelProperty("业务类型")
    private String businessType;
    /**
     * 支付方式
     */
    @ExcelProperty("支付方式")
    private String paymentMethodId;

    /**
     * 会员账号（可与会员表联查）
     */
    @ExcelProperty("会员账号")
    private String vipId;

    /**
     * 下单时间
     */
    @ExcelProperty(value = "下单时间",converter = LocalDateStringConverter.class)
    private LocalDateTime orderDate;

    /**
     * 配送方式（1 EMS, 2 其他）
     */
    @ExcelProperty("配送方式")
    private String deliveryStyle;
    /**
     * 配送费用
     */
    @ExcelProperty("配送费用")
    private BigDecimal deliveryCost;

    /**
     * 配送地区
     */
    @ExcelProperty("配送地区")
    private String deliveryArea;

    /**
     * 同城或者异城（0 同城 ， 1 异城）
     */
    @ExcelProperty("是否同城")
    private String deliverySamecity;

    /**
     * 是否购买保险
     */
    @ExcelProperty("是否购买保险")
    private String deliveryInsurance;

    /**
     * 收货人信息表的主键id
     */
    @ExcelIgnore
    private Integer receiverId;
    /**
     * 退货id
     */
    @ExcelProperty("退货编号")
    private Integer returnId;

    /**
     * 订单状态（1 审核通过，2 已付款，3已出库，4 已发货，5 已到货，6已归档 ）
     */
    @ExcelProperty("订单状态")
    private String orderStatus;

    /**
     * 发货时间
     */
    @ExcelProperty("发货时间")
    private String deliveryTime;

    @ExcelIgnore
    private Integer remark2;

}
